1) Field of the Invention
The present invention relates to a technology for managing tasks on a computer having a dual operating system by setting an appropriate priority for each of the tasks.
2) Description of the Related Art
Recently, a hybrid operating system (OS) in which two OS's are running on a single computer became popular. Since some OS is excellent in real-time processing while other is superior in development environment, it is possible to make use of different merits by employing a plurality of OS's.
As an example of the hybrid OS is shown in FIG. 6. In this system, a general purpose OS (GPOS) is placed on a real time OS (RTOS) and the GPOS is executed as one task of the RTOS. In other words, the GPOS and processes executed under the control of the GPOS are executed as a GP task. One example of such GPOS is Linux.
In such type of hybrid OS, since the GPOS and a process under the control of the GPOS do not strongly require real-time properties, the GP task is executed with the lowest priority, and other RT tasks are executed by priority.
However, in an in-vehicle navigation system, for example, when a route searching task serving as an RT task is executed with a higher priority than a user interface process under the control of a GPOS, a user operation may not be recognized. Therefore, it is not always preferable that the GP task is executed with the lowest priority (see, for example, Japanese Patent Application Laid-Open Publication No. 2000-242512).
Besides, in the hybrid OS, a process under the control of a GPOS and another RT task may have to be cooperatively operated. For example, in a streaming play of music through the Internet, it is necessary to receive music data from the Internet by a process under the control of the GPOS, and to transmit the music data received to a music reproducing RT task.
In such a case, when the GP task has a low priority, the GP task and a real-time task having a high priority cannot be cooperatively operated. Thus, as in a case in which the two tasks communicate with each other under a single OS, the GP task may succeed the high priority from the RT task.
However, when the GP task simply successes the high priority of the RT task, other processes except for the process cooperatively operated with the RT task are also executed with a high priority, and as a result, the execution of the RT task is interfered.